﻿using System.Collections.Generic;
using TrueSync;

namespace HEFramework
{
    public class SkillEffectBuff
    {
        public int ID { get; set; }
        public EntityRef<Entity> A { get; set; }
        public EntityRef<Entity> B { get; set; }
        public int Execute_Num { get; set; }
        public int Before_Stack_Num { get; set; }
        public int Stack_Num { get; set; }
        public FP Remaining_Time { get; set; }
        public FP Accrue_Time { get; set; }
        public FP Cooldown_Time { get; set; }
        public bool IsDestroy { get; set; }
    }

    public struct EffectBuff
    {
        public int ID { get; set; }
        public EntityRef<Entity> A { get; set; }
        public EntityRef<Entity> B { get; set; }
    }

    public class SkillEffectComponent : Entity, IAwake, IUpdate, IDestroy
    {
        public List<EffectBuff> AddBuffs { get; } = new();
        public Dictionary<int, SkillEffectBuff> NowBuffs { get; } = new();
        public List<EffectBuff> RemoveBuffs { get; } = new();
    }
}